/**
* Kruskal算法：
 * 1.将所有边的权重从小到大排序
 * 2.美剧每条边 a , b ,权重 c
 *      if a b 不连通，将这条边加入这个集合中来
*/

#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std ;

const int maxn = 100010 ;

int n , m ; //图的边

int p[maxn] ;   //并查集里的边

//克鲁斯卡尔算法中的边不用邻接矩阵和邻接表， 开一个结构体就行